import request from '@/utils/request'

// 路由管理API
export const routeApi = {
  // 分页查询路由
  getRoutes(params) {
    return request.get('/admin/routes', { params })
  },
  
  // 获取路由详情
  getRoute(id) {
    return request.get(`/admin/routes/${id}`)
  },
  
  // 创建路由
  createRoute(data) {
    return request.post('/admin/routes', data)
  },
  
  // 更新路由
  updateRoute(id, data) {
    return request.put(`/admin/routes/${id}`, data)
  },
  
  // 删除路由
  deleteRoute(id) {
    return request.delete(`/admin/routes/${id}`)
  },
  
  // 测试路由
  testRoute(path, method, headers, params, body) {
    return request.request({
      url: path,
      method: method,
      headers: headers,
      params: params,
      data: body
    })
  }
}

// 模板管理API
export const templateApi = {
  // 分页查询模板
  getTemplates(params) {
    return request.get('/admin/templates', { params })
  },
  
  // 获取所有模板
  getAllTemplates() {
    return request.get('/admin/templates/all')
  },
  
  // 获取模板详情
  getTemplate(id) {
    return request.get(`/admin/templates/${id}`)
  },
  
  // 创建模板
  createTemplate(data) {
    return request.post('/admin/templates', data)
  },
  
  // 更新模板
  updateTemplate(id, data) {
    return request.put(`/admin/templates/${id}`, data)
  },
  
  // 删除模板
  deleteTemplate(id) {
    return request.delete(`/admin/templates/${id}`)
  }
}

// 日志管理API
export const logApi = {
  // 分页查询日志
  getLogs(params) {
    return request.get('/admin/logs', { params })
  },
  
  // 清理日志
  cleanLogs(days) {
    return request.delete('/admin/logs', { params: { days } })
  }
}

// 系统API
export const systemApi = {
  // 获取系统信息
  getSystemInfo() {
    return request.get('/admin/stats')
  }
}

// 事件管理API
export const eventApi = {
  // 分页查询事件
  getEventPage(params) {
    return request.get('/api/events', { params })
  },
  
  // 获取事件详情
  getEvent(id) {
    return request.get(`/api/events/${id}`)
  },
  
  // 创建事件
  createEvent(data) {
    return request.post('/api/events', data)
  },
  
  // 更新事件
  updateEvent(id, data) {
    return request.put(`/api/events/${id}`, data)
  },
  
  // 删除事件
  deleteEvent(id) {
    return request.delete(`/api/events/${id}`)
  },
  
  // 启用/禁用事件
  toggleEvent(id, enabled) {
    return request.put(`/api/events/${id}/toggle`, null, { params: { enabled } })
  },
  
  // 触发事件
  triggerEvent(id, context) {
    return request.post(`/api/events/${id}/trigger`, context)
  },
  
  // 获取事件触发记录
  getEventTriggers(id, params) {
    return request.get(`/api/events/${id}/triggers`, { params })
  },
  
  // 获取事件类型
  getEventTypes() {
    return request.get('/api/events/types')
  },
  
  // 获取触发类型
  getTriggerTypes() {
    return request.get('/api/events/trigger-types')
  },
  
  // 获取路由列表
  getRoutes() {
    return request.get('/api/events/routes')
  }
} 